package com.hfut.eeg.common.eegParse;

import com.hfut.eeg.common.util.EEGUtil;

import java.util.ArrayList;
import java.util.HashMap;

/**
 * @author 梁琦
 * @program: eeg
 * @Package com.hfut.eeg.common.eegParse
 * @Description: 存储EEG使用的系统类信息
 * @date 2019-11-19 17:15
 */
public class NkEEG {

    private EEGFile file;

    private String fileName;

    private  Integer extended;

    private Integer[] to;

    private Integer samplingFreq;

    private Long sampleNum;

    private Integer offset;

    private Double cal;

    private Integer chNum;

    private ArrayList<String> label = new ArrayList<>();

    private ArrayList<Double> electrodeCode = new ArrayList<>();

    private Integer wavePos;

    private Double calDC;

    public NkEEG(EEGFile file, String fileName, Integer extended, Integer[] to,
                 Integer samplingFreq, Long sampleNum, Integer offset,
                 Double cal, Integer chNum, ArrayList<String> label,
                 ArrayList<Double> electrodeCode, Integer wavePos, Double calDC) {
        this.file = file;
        this.fileName = fileName;
        this.extended = extended;
        this.to = to;
        this.samplingFreq = samplingFreq;
        this.sampleNum = sampleNum;
        this.offset = offset;
        this.cal = cal;
        this.chNum = chNum;
        this.label = label;
        this.electrodeCode = electrodeCode;
        this.wavePos = wavePos;
        this.calDC = calDC;
    }

    public NkEEG() {
    }

    public void initFileNameByFile(){
        EEGUtil util = new EEGUtil();
        this.fileName = this.file.getPath()+util.getSeparatorTag()+this.file.getName()+this.file.getExt();
    }

    public EEGFile getFile() {
        return file;
    }

    public void setFile(EEGFile file) {
        this.file = file;
    }

    public String getFileName() {
        return fileName;
    }

    public void setFileName(String fileName) {
        this.fileName = fileName;
    }

    public Integer getExtended() {
        return extended;
    }

    public void setExtended(Integer extended) {
        this.extended = extended;
    }

    public Integer[] getTo() {
        return to;
    }

    public void setTo(Integer[] to) {
        this.to = to;
    }

    public Integer getSamplingFreq() {
        return samplingFreq;
    }

    public void setSamplingFreq(Integer samplingFreq) {
        this.samplingFreq = samplingFreq;
    }

    public Long getSampleNum() {
        return sampleNum;
    }

    public void setSampleNum(Long sampleNum) {
        this.sampleNum = sampleNum;
    }

    public Integer getOffset() {
        return offset;
    }

    public void setOffset(Integer offset) {
        this.offset = offset;
    }

    public Double getCal() {
        return cal;
    }

    public void setCal(Double cal) {
        this.cal = cal;
    }

    public Integer getChNum() {
        return chNum;
    }

    public void setChNum(Integer chNum) {
        this.chNum = chNum;
    }

    public ArrayList<String> getLabel() {
        return label;
    }

    public void setLabel(ArrayList<String> label) {
        this.label = label;
    }

    public ArrayList<Double> getElectrodeCode() {
        return electrodeCode;
    }

    public void setElectrodeCode(ArrayList<Double> electrodeCode) {
        this.electrodeCode = electrodeCode;
    }

    public Integer getWavePos() {
        return wavePos;
    }

    public void setWavePos(Integer wavePos) {
        this.wavePos = wavePos;
    }

    public Double getCalDC() {
        return calDC;
    }

    public void setCalDC(Double calDC) {
        this.calDC = calDC;
    }

    @Override
    public String toString() {
        return "NkEEG{" +
                "file=" + file +
                ", fileName='" + fileName + '\'' +
                ", extended=" + extended +
                ", to=" + to +
                ", samplingFreq=" + samplingFreq +
                ", sampleNum=" + sampleNum +
                ", offset=" + offset +
                ", cal=" + cal +
                ", chNum=" + chNum +
                ", label=" + label +
                ", electrodeCode=" + electrodeCode +
                ", wavePos=" + wavePos +
                ", calDC=" + calDC +
                '}';
    }
}
